Integration of passive data content in a multimedia-controlled environment

ABSTRACT

A device and method for integrating passive data content into multimedia content-controlled environment is described. According to one embodiment of the present invention, a device is coupled to a server through a network. The device includes a storage memory that includes a number of text sections. Additionally, the server can update the plurality of text sections through the network. The device also includes a Digital Versatile Disc (DVD) drive coupled to the storage memory. The DVD drive plays a DVD, wherein the DVD includes video content. Moreover, a number of time codes are associated with positions in the video content. The DVD drive includes a register that includes a register value. Further, the DVD drive includes a table having a number of table entries, wherein each table entry includes one of a number of register values, one of the number of time codes and an address. Each address is associated with one of the plurality of text sections.

This is a continuation of U.S. Provisional Patent Application No.60/150,519, entitled “Essentially Managed Wireless Information Terminaland Network filed Aug. 23, 1999.

FIELD OF THE INVENTION

The invention relates to digital versatile discs (DVDs). Morespecifically, the invention relates to a system and a method forintegration of passive text in a DVD-controlled environment.

BACKGROUND OF THE INVENTION

With the advent of the DVD in conjunction with the Internet, systemshave been developed that attempt to synchronize the video content from aDVD-Video with HyperText Markup Language (HTML) text from the Internet.One application of such a system, which can be displayed on a computermonitor or a television screen, could be a movie being displayed fromthe DVD-Video, while an Internet browser application displays HTML text,which could include subtitles or background information related to themovie.

One example of such a system is the WebDVD system by MICROSOFT®. FIG. 1illustrates a monitor screen of a WebDVD system. In particular, FIG. 1illustrates computer monitor screen 100 that includes DVD screen 104 andInternet browser screen 106. Additionally, computer monitor screen 100is attached to a computer (not shown), which includes a DVD drive (notshown). In addition to video content, a DVD-Video includes text sectionsfor different usages. The WebDVD system inserts Uniform Resource Locator(URL) addresses associated with different web content located on theInternet into these text sections of a particular DVD-Video. Inoperation, the DVD drive displays the video content located thereon ontoDVD screen 104. Moreover, when the DVD disc drive encounters a URLaddress, the drive transmits this address to an Internet browserapplication running on the computer. Subsequently, the Internet browserapplication retrieves the HTML text associated with this URL address anddisplays such content in Internet browser screen 106.

However, such systems suffer from limitations. One such limitation isthe lack of a tight integration between the video content from theDVD-Video and the HTML content from the Internet, due in part to thedesign of a DVD-Video, as the number of text sections to place the URLaddresses therein on a given DVD-Video is limited. Accordingly, updatesto Internet browser screen 106 may not be able to occur as frequently assome applications need or desire.

Moreover, such systems lack a full integration between the video contentfrom the DVD-Video and the HTML content from the Internet. In particularas illustrated in FIG. 1, computer monitor screen 100 includes twoseparate windows to display the video content and the HTML content.

A further limitation in such a system is that the URL address is burntonto the DVD-Video, thereby precluding any dynamic modification of suchaddresses. Therefore if a given URL address stored on the DVD-Videoneeds to be modified, a new DVD-Video must be created to include thismodification. Accordingly, these types of modifications can be costlyand time-consuming.

In another system that synchronizes video content from a DVD-Video withHTML text, the sector numbers of the DVD-Video are employed to providefor such synchronization. In such a system, numbers of the sectorscontaining the video content of the DVD-Video are associated withcertain HTML text. Accordingly, video is displayed such that whencertain sectors of the DVD-Video are played by the DVD drive, HTML textis displayed in a separate window for the number for the given sector.However, such a system also suffers from certain limitations. One suchlimitation is due in part to the modification of the sector locations ona DVD-Video each time a DVD-Video is burnt. Accordingly, the associationbetween the sector numbers and the HTML text needs to be modified eachtime a DVD-Video is created.

SUMMARY OF THE INVENTION

A device and method for integrating passive data content into multimediacontent-controlled environment is described. According to one embodimentof the present invention, a device is coupled to a server through anetwork. The device includes a storage memory that includes datacontent. Additionally, the server can update the data content throughthe network. The device also includes a Digital Versatile Disc (DVD)drive coupled to the storage memory. The DVD drive plays a DVD, whereinthe DVD includes video content. Moreover, a number of time codes areassociated with positions in the video content. The DVD drive includes aregister that includes a register value. Further, the DVD drive includesa table having a number of table entries, wherein each table entryincludes one of a number of register values, one of the number of timecodes and an address. Each address is associated with one of the datacontent stored in the storage memory.

According to one aspect of the invention, a method includes monitoring avalue of a register of a multimedia drive, wherein the multimedia driveincludes video content. Additionally, the method includes locating thevalue in a table of register values, upon determining that the value haschanged. The table includes a number of table entries with each tableentry including a register value, an associated address and anassociated time code. Moreover, each time code corresponds to a positionwithin the video content that is included in the multimedia disc. Themethod also includes locating data content based on the address andintegrating the data content with the video content based on the timecode associated with the value of the register.

Another embodiment of the invention includes a method for integratingvideo from a DVD with markup language text. The method includes playingvideo content, by a DVD drive, from the DVD. Additionally, the methodincludes setting a register in the DVD drive to a register value uponexecuting a pre-/post-command sequence on the DVD, wherein the registervalue is associated with a time code and a Uniform Resource Locator(URL) address in a table. Moreover, the register value, the associatedtime code and the associated URL address are dynamically configurablevia communication from a remote server coupled to the DVD drive.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention may be best understood by referring to thefollowing description and accompanying drawings which illustrate suchembodiments.

In the drawings:

FIG. 1 illustrates a monitor screen of a WebDVD system;

FIG. 2 is block diagram illustrating a system that incorporatesembodiments of the present invention;

FIG. 3 illustrates one application of system 200, according toembodiments of the present invention;

FIG. 4 illustrates device 202 and its associated user inputs, accordingto one embodiment of the present invention;

FIG. 5 illustrates a more detailed block diagram of devices 202 a–i,according to embodiments of the present invention;

FIGS. 6 a–6 b illustrate a more detailed diagram of the softwareresiding in memory 512 and executing on processor 510;

FIGS. 7 a–7 b are flowcharts illustrating methods for integrating thisvideo content from a DVD being played by multimedia drive 502 and datacontent from storage memory 306, according to embodiments of the presentinvention; and

FIGS. 8 a–8 b are flowcharts illustrating methods for the setting andchanging of the control mode, according to embodiments of the presentinvention.

DETAILED DESCRIPTION

In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be evident, however, toone skilled in the art that the present invention may be practicedwithout these specific details.

System Embodiments

FIG. 2 is block diagram illustrating a system that incorporatesembodiments of the present invention. In particular, FIG. 2 illustratessystem 200 that includes devices 202 a–i and servers 204 a–i, which arecoupled together through network 206. Devices 202 a–i can include one toany number of such devices in system 200. Similarly, servers 204 a–i caninclude one to any number of such servers in system 200. In anembodiment, there is a one-to-many relationship between a given server204 and multiple devices 202. For example, devices 202 a–c communicateexclusively with server 204 a. However, embodiments of the invention arenot so limited. For example, in another embodiment, there is aone-to-one relationship between a given server 204 and a given device202. In a further embodiment, there is a many-to-one relationshipbetween multiple servers 204 and a given device 202.

While different embodiments of the present invention could havedifferent types of communication protocols between devices 202 a–i andservers 204 a–i, in an embodiment, the communication protocol betweendevices 202 a–i and servers 204 a–i is the HyperText Transfer Protocol(HTTP). Moreover, in one such embodiment, the communication protocol isupgraded to Secure-HyperText Transfer Protocol (HTTPS) to allow forincreased security between devices 202 a–i and servers 204 a–i.

In one embodiment, network 206 is a local area network (LAN). In anotherembodiment, network 206 is a wide area network (WAN). In one suchembodiment, network 206 is the Internet. Further, network 206 can be acombination of different networks that provide communication betweenservers 204 a–i and devices 202 a–i. While different embodiments couldhave different types of communication between network 206 and servers206 a–i and devices 202 a–i, in one embodiment, devices 202 a–i arecoupled to network 206 through wireless communication, while servers 204a–i are coupled to network 206 through wired communication. Moreover, toallow for increased security regarding the communications betweendevices 202 a–i and servers 204 a–i, virtual private networks (VPNs)within network 206 can be established between a given device 202 and agiven server 204.

FIG. 3 illustrates one application of system 200, according toembodiments of the present invention. In particular, FIG. 3 illustratesa map of the United States wherein server 204 and devices 202 a–l arelocated in different locations across the United States. Additionallynot shown for the sake of clarity, server 204 and devices 202 a–l arecoupled together through different networks, such as WANs and/or LANs.In operation, server 204 communicates with devices 202 a–l. Suchcommunication includes the downloading of data content and configurationdata into devices 202 a–l, to allow for the overlaying of such datacontent onto a video content, which can be stored locally on multimediadiscs, such as DVDs, within devices 202 a–l. Data content is defined toinclude any type of data. Examples of such data include alphanumerictext, still and motion video content, audio content or any other type ofdata that is modifiable and can be downloaded into devices 202 a–l.Moreover, communication between server 204 and devices 202 a–l includesthe uploading of status information; such as the title of the multimediadisc within multimedia drive 502, from devices 202 a–l to server 204.

The application illustrated in FIG. 3 is by way of example and not byway of limitation, as embodiments of system 200 could be incorporatedinto other types of geographical locations while having differentconfigurations. For example, system 200 could be incorporated into aglobal network spanning across different countries. In a furtherexample, system 200 could include multiple servers 204 communicatingwith multiple devices 202.

In one embodiment, devices 202 a–l are devices that include digitalstorage drives, such as multimedia drives, that can be employed asin-store user terminals for Point-Of-Purchase (P-O-P) retail advertisingand promotion networks. Examples of a digital storage drive include aDVD drive. Additionally, other applications of devices 202 could includethe placement such devices in airports, malls, etc.

FIG. 4 illustrates device 202 and its associated user inputs, accordingto one embodiment of the present invention. In particular, as shown, theassociated user inputs include motion sensor 402, card swipe 404,buttons 406 and keyboard 408. In an embodiment, motion sensor 402 isemployed to detect movement within a certain range of devices 202,thereby causing its activation. For example, devices 202 could remain inan idle mode until motion is detected, which then begins a presentationto attract the user to devices 202. Such a presentation could include avideo such as a talking head, which encourages the user to come closerto device 202 to watch the presentation.

Card swipe 404 is used to receive credit card data by having the userslide their credit card through card swipe 404. However, embodiments ofthe present invention are not limited to the receipt of credit cardinformation. For example, in another embodiment card swipe 404 couldalso be employed to receive a user's information, such as the user'sname and address, from a membership club card. Buttons 406 can be usedfor various user input data, such as the answering of multiple-choicetype questions by the user. For example, the presentation of devices 202may include asking the user personal information such as the user'sgender or age group, wherein buttons 406 are associated with differentanswers to such questions. Moreover, keyboard 408 allows the user toenter alphanumeric data into devices 202, such as the user's name,address, credit card number, etc. The user inputs illustrated in FIG. 4are by way of example and not by way of limitation as different, fewer,more and/or other user inputs could be included in device 202. Forexample, in one embodiment, a microphone could be employed to receiveaudio data from the user, which may be converted to digital data usingvoice recognition technology within device 202.

In one embodiment, devices 202 store high-bandwidth media, such asvideo, locally on a multimedia disc (e.g., DVD) therein, while allowingfor low-bandwidth media to be updated from server 204 through a networkconnection. Examples of such low-bandwidth media includes data contentconcerning the latest product information or sales promotion for aproduct being sold in the given retail store. As another example, thisdata content can include promotional information for a sale on a productfor a limited duration in order, for example, to move stagnant inventorywithin the store where device 202 is located. As another example, thistext can include warning label information regarding a particularproduct.

Accordingly, server 204 can download different data content to differentdevices 202 to meet a store's specific needs and/or updates toinformation regarding a particular product. Moreover, this networkconnection between server 204 and devices 202 also can enable end-usersto make purchases of products directly from devices 202, as purchasesrequests are uploaded to the remote server from such devices.Accordingly, for the end-user (e.g., retail store customer and/or salesclerk), devices 202 provide a responsive, up-to-date, easy-to-useinteractive experience with the additional benefit of high-quality fullmotion video. In particular, a given device 202 can be dedicated to agiven vendor's product or set of products. Accordingly, device 202 canprovide an integrated multimedia product presentation, sales promotionand/or allow for e-commerce transactions for given products of theparticular vendor.

In an embodiment, high-bandwidth media can also be downloaded fromserver 204 into memory of device 202, instead of being stored on amultimedia disc. In one such embodiment, this high-bandwidth media isdownloaded during off-peak times of usage of device 202. For example,such media can be downloaded when the store wherein device 202 islocated is closed.

FIG. 5 illustrates a more detailed block diagram of the hardwarecomponents of devices 202, according to embodiments of the presentinvention. As shown in FIG. 5, in one embodiment, device 202 includesmultimedia drive 502, storage memory 506, video display 504, modem 508,processor 510 and memory 512, which are all coupled together.

Multimedia drive 502 includes a fixed storage media, such as a DVD. Insuch an embodiment, multimedia drive 502 is a DVD drive. However,embodiments of the present invention are not so limited. For example, inother embodiments, multimedia drive 502 could be a Compact Disc-ReadOnly Memory (CD-ROM) drive, which reads a CD-ROM. Moreover, storagememory 506 can be various types of memory. In one embodiment, storagememory 506 is a dynamic storage media that can be updated (e.g., staticrandom access memory, FLASH, a magnetic disc, etc.). In one suchembodiment, storage memory 506 is a FLASH memory. In an embodiment,device 202 is shipped to a given location such that storage memory 506does not include data. Accordingly, when device 202 is coupled tonetwork 206, communications is established between device 202 and server204 wherein server begins downloading data content into storage memory506, which is described in more detail below. In one embodiment, thefixed storage media being read by multimedia drive 502 is larger in sizethan the dynamic storage media of storage memory 506.

With regard to modem 508, this device can be a landline modem or awireless modem. In an embodiment where modem 508 is a wireless modem,the Cellular Digital Packet Data (CDPD) communication standard isemployed. Moreover, this device is termed and described as a modem.However, embodiments of the present invention are not so limited, asthis device could be any other type of wired or wireless networkconnection device. For example, in one embodiment this device could be acommunication device to connect to a Digital Subscriber Line to coupleto network 206.

Processor 510 can be any of a variety of different types of processingunits. In one embodiment, processor 510 is an embedded microprocessorinternal to device 202. Moreover, memory 512 can be a variety ofdifferent types of memories. In one embodiment, memory 512 is a randomaccess memory (RAM). However, embodiments of the invention are not solimited as memory 512 can be other types of memory. These components ofdevice 202 are described in further detail in conjunction with thesoftware controlling such components in FIGS. 6 a–6 b below.

In particular, FIG. 6 a illustrates a more detailed diagram of thesoftware residing in memory 512 and executing on processor 510. Table 1below identifies the software with respect to the dashed lines in FIG. 6a.

TABLE 1 Dashed Lines Software Below 602 Device Layer 606 Between 602 and604 Manager Layer 608 Above 604 Application Layer 610

As illustrated in FIG. 6 a, the software of device 202 includes threelayers: (1) device layer 606, manager layer 608 and application layer610. Device layer 606 operates the system code. This layer includesoperating system (OS) core 612, multimedia device driver 614, memorydevice driver 616, network device driver 618, graphics device driver620, storage memory device driver 621, input device driver 622 andprinter device driver 623. These device drivers control and communicatewith the hardware components of device 202 including those illustratedin FIG. 5. Moreover, the software in device layer 606 communicates withthe software residing in manager layer 608. Accordingly, one function ofdevice layer 606 is to act as a conduit through which the upper softwarelayers communicate with the hardware of device 202.

Multimedia device driver 614, memory device driver 616, network devicedriver 618, graphics device driver 620, storage memory device driver621, input device driver 622 and printer device driver 623 control andcommunicates with multimedia drive 502, memory 512, modem 508, videodisplay 504, storage memory 506, user inputs (like those shown in FIG.4) and a printer coupled to device 202 (not shown), respectively. Thedevice drivers of device layer 606 are described in further detail inco-filed/co-pending application, titled “Distributed Publishing Network”to Jason Goldberg, Tim Fredenburg and Larion Vasilovsky, which is herebyincorporated by reference.

Manager layer 608 includes system software managers: (1) event manager624, (2) network manager 626, (3) font manager 628, (4) video manager630, (5) file manager 632, (6) memory manager 634, (7) drawing manager636 and content manager 637. These software managers are device orhardware independent with standard functions for communication with thesoftware in device layer 602 and application layer 610. These systemsoftware managers are described in further detail in co-filed/co-pendingapplication, titled “Distributed Publishing Network” to Jason Goldberg,Tim Fredenburg and Larion Vasilovsky.

Additionally, application layer 610 includes browser application 638 andsystem application 640. Browser application 638 is an applicationoperating on device 202 that provides for the communication with server204. In one embodiment, a digital certificate is employed in thecommunications between device 202 and server 204 for added security.

System application 640 provides several functions for device 202. Onesuch function includes the collecting and compiling of systeminformation of device 202, which is subsequently transmitted to server204 through browser application 638. Types of system informationcollected by system application 640 include debugging or performancedata to enable the remote debugging of devices 202 from server 204.

Moreover, system application 640 monitors a port that is coupled tonetwork 206. In particular, system application 640 monitors this portfor messages from server 204. One such message from server 204 includesa message to have device 202 contact server 204. Upon receipt of such acontact message, system application 640 transmits a message to browserapplication 638, which causes browser application 638 to set up anetwork connection between device 202 and server 204 for the receipt ofnew data.

In one embodiment, system application 640 monitors the date and time ofdevice 202 and compares these data to a callback value, which has beenpassed in from server 204 as part of the system and configuration data.When the callback value matches the date and time of device 202, systemapplication 640 communicates to browser application 638 to set up acommunication link between device 202 and server 204. Accordingly, thiscallback value allows for periodic uploads and downloads between device202 and server 204.

Moreover, in an embodiment, device 202 operates in different controlmodes, thereby allowing a different process within device 202 to controlthe operation of device 202. In one such embodiment, device 202 includestwo control modes: (1) active video mode and (2) active text mode. Whilein the active video mode and the active text mode, content manager 637and browser application 638 control device 202, respectively.Accordingly, content manager and browser application 638 provides forthe integration of the data content, which is downloaded from server 204and stored in storage memory 506, with the video content from multimediadrive 502, which is described in further detail below as well as inco-filed/co-pending application, titled “Method and Apparatus forOverlaying HTML Content over Video Content” to Jason Goldberg and TimFredenburg, which is hereby incorporated by reference.

Further, the process in control controls the other hardware componentsand associated software components. For example, the process in controlreceives and processes the user inputs from the different inputcomponents of device 202. This operation in different control modes aswell as which process internal to devices 202 receives and processesuser input to devices 202 is described in more detail below.

FIG. 6 b illustrates an alternative embodiment of a more detaileddiagram of the software residing in memory 512 and executing onprocessor 510. In particular, the embodiment illustrated in FIG. 6 bincludes similar software components as those illustrated in FIG. 6 a.However as shown, the embodiment of FIG. 6 b includes network channelmanager 650 in substitution of system application 640. Moreover, as willbe described in more detail in co-filed/co-pending application, titled“Distributed Publishing Network” to Jason Goldberg, Tim Fredenburg andLarion Vasilovsky, modifications are made to the existing softwarecomponents. In particular, network channel manager 650 provides achannel-based interface with server 204 for the communications betweendevice 202 and server 204. A channel is defined to include acommunication stream between device 202 and server 204 and is associatedwith a given input/output port of device 202 and 204.

In one such embodiment, multiple channels can be established betweendevice 202 and server 204 such that each channel is dedicated to aparticular communication. For example, one channel could be responsiblefor delivering usage statistics from device 202 to server 204, therebyallowing data mining concerning the usage patterns of users of device202. Another example of a channel to be established between device 202and server 204 could be a control/status channel that allows server 204to control device 202 as well as request status therefrom. For example,server 204 could employ a control/status channel to update the time ofday, the date, etc. Another type of channel that can be establishedbetween device 202 and server 204 is a content update channel, whichallows server 204 to deliver updated and/or new data to device 202. Theabove-described channels are by way of example and not by way oflimitation, as other types of channels can be established between device202 and server 204. For example, an error channel can be establishedbetween device 202 and server 204. Such a channel enables device 202and/or server 204 to communicate to each other concerning errorsoccurring therein. Network channel manager 650 along with theabove-described channels is described in more detail inco-filed/co-pending application, titled “Distributed Publishing Network”to Jason Goldberg, Tim Fredenburg and Larion Vasilovsky.

Returning to FIG. 2, system 200 includes servers 204 a–i. Servers 204a–i store data content in a local directory structure, which can bedownloaded into devices 202. Such data content, which can be downloadedfrom other servers and storage devices coupled to network 206, caninclude different types of markup language (i.e., presentation language)which includes command sequences embedded into the text. One example ofsuch markup language is HTML.

In particular, servers 204 a–i also include applications that retrievethe data content and files from other servers and storage devicescoupled to network 206, as described above. Servers 204 a–i aredescribed in further detail in co-filed/co-pending application, titled“Distributed Publishing Network” to Jason Goldberg, Tim Fredenburg andLarion Vasilovsky. For example, the HTML content could be productinformation downloaded from a specific vendor's website. In oneembodiment, this HTML content is modified for integration into the videocontent stored locally within device 202. Additionally, servers 204 a–iinclude a database to store system and configuration data that has beenuploaded from devices 202. For example, such system and configurationdata could include the current data content that has been downloadedinto device 202, debugging data and/or the title of the multimedia discbeing played by multimedia drive 502. Moreover, servers 204 a–i alsoinclude Common Gateway Interface (CGI) scripts, which are executed byprocesses on both devices 202 and servers 204 to allow for thedownloading of data content into devices 202 as well as the uploading ofdata from devices 202.

Integration of Video Content and Data Content

In an embodiment, the video content from multimedia drive 502 isintegrated with the data content from storage memory 506 through the useof command sequences located on a DVD being played by multimedia drive502. In particular, a pre-command sequence and a post-command sequenceare located before and after each unit of data on a DVD, respectively.In one embodiment, these units of data for the DVD that are located indevices 202 are video content. When a given DVD is being created, datacan be placed into these units as well as into the pre-command sequenceand the post-command sequence. According to one embodiment of thepresent invention, the pre-command sequence(s) and/or the post-commandsequence(s) are employed to store in one or more of the General Program(GPRM) data registers different values within multimedia drive 502 whenthe DVD is being played within multimedia drive 502. This setting of agiven data register is used as a signal to a separate process withindevice 202, which is more fully described below. Moreover, apre/post-command sequence is defined such that each sequence can includeone to any number of commands.

FIGS. 7 a–7 b are flowcharts illustrating methods for integrating thisvideo content from a DVD being played by multimedia drive 502 and datacontent from storage memory 506, according to embodiments of the presentinvention. In an embodiment, method 700 of FIG. 7 a is embodied as amachine-readable medium located within multimedia drive 502, which isexecuted within a multimedia controller of multimedia drive 502.Additionally, in an embodiment, method 702 of FIG. 7 b is embodied as amachine-readable medium-readable medium located within memory 510 and/orprocessor 510, which is executed within processor 510.

In particular, FIG. 7 a illustrates method 700, which commences withmultimedia drive 502 playing a DVD located therein, at block 704. Agiven pre-command sequence or a post-command sequence among the units ofdata, which is executed through the playing of the DVD, sets a GPRM dataregister to a particular register value at block 706. This particularregister value serves as an indicator of what data content from storagememory 506 as well as when such content should be displayed on videodisplay 504 of device 202, which is more fully described below. Inparticular, as multimedia drive 502 is playing the units of data withinthe DVD therein, multimedia drive 502 encounters a pre-command sequenceprior to a particular unit of data as well as a post-command sequencesubsequent to a particular unit of data. Accordingly, multimedia drive502 executes a pre-command sequence prior to playing a given unit ofdata and executes a post-command sequence subsequent to playing thegiven unit of data. Moreover, certain of these command sequences includea command to set one of the GRPM data registers.

FIG. 7 b illustrates method 702, which is a separate process from theprocess illustrated by method 700. Method 702 commences when device 202is activated through, for example, user input, at block 708. Subsequentto activation, this process recursively monitors this GPRM data registerof multimedia drive 502 to determine whether the register value therehas been updated, at decision block 710. In other words, the processchecks to see if the register value is different when compared to theprevious time that the process checked the GPRM data register.

If this register value has not been modified, the register value of theGPRM data register is checked again, at decision block 710. In oneembodiment, this recursive monitoring is performed every ¼ of a second.If this register value has been updated, this process locates thisregister value in a data structure, at block 712. In one embodiment,such a data structure is a list. In another embodiment, this datastructure is a table. However, embodiments of the present invention arenot so limited, as this data structure can be other types of structurescapable of storing the data described below.

Table 2 illustrates an example of this data structure in a table format.In particular, Table 2 includes a table of register values, associatedaddresses and associated time codes, which are stored within memory 512of devices 202, according to embodiments of the present invention.

TABLE 2 GPRM Value Address Time Code 3 http://www.screenshot1.com 800 4http://www.screenshot2.com 1000 5 http://www.screenshot3.com 15 7http://www.screenshot4.com 5000

As illustrated, Table 2 includes a column for a GPRM register value, anassociated address and an associated time code. In the embodimentillustrated in Table 2, the address is a URL address. However,embodiments of the present invention are not so limited, as other typesof addressing schemes may be used in conjunction with embodiments of thepresent invention. For example, a number-type addressing scheme could beemployed.

The addresses stored in Table 2 correspond to data content stored instorage memory 506. In one embodiment, the data content stored instorage memory 506 is HTML content. In one such embodiment, the datacontent stored in storage memory 506 can include web pages from variousInternet web sites. Moreover, such data content can include productinformation about a product being displayed by the video content fromthe DVD. As another example, this data content can include promotionalinformation for a sale on a product for a limited duration in order, forexample, to move stagnant inventory from the store where device 202 islocated. Accordingly, server 204 can download different data content todifferent devices 202 to meet a store's specific needs. Additionally,these data content can include ordering information, such as a web page,which allows a user to enter shipping information, credit card numberfor billing, etc.

With regard to the time code, its value is a position within the videocontent stored on the DVD. The time code value is employed tosynchronize the data content from storage memory 506 with the videocontent from the DVD being played in multimedia drive 502.

Upon locating the register value in the table of register values, thetime code associated with the retrieved register value is compared tothe current time code from the DVD being played in multimedia drive 502to determine if the two time codes match, at block 714. If the timecodes do not match, the process continues checking for a match betweenthe two time codes, at block 714. If the time codes do match and thevalue stored in the GPRM data register has not been modified since thelast change in this register value, the process retrieves the datacontent related to the address from storage memory 506 of device 202, atblock 716. The retrieved data content is then overlaid onto the videocontent being displayed on video display 504 at the matched time code atblock 718. This overlaying of the data content onto the video content isdescribed in further detail in co-filed/co-pending application, titled“Method and Apparatus for Overlaying HTML Content over Video Content” toJason Goldberg and Tim Fredenburg, which is hereby incorporated byreference.

In an alternative embodiment to blocks 710–714, the GPRM register valuesand the associated time codes illustrated in Table 2 are concatenated toform a single lookup value. In particular, for each entry (i.e., row) ofTable 2, there is a concatenated lookup value. In one such embodiment,these concatenated values are stored in an associative cache, such as ahardware lookup table. Accordingly, once the process determines that theGPRM register value has changed and that the associated time codematches the current time code based on these concatenated values, alookup is performed into a table, such as illustrated in Table 2 todetermine the associated address. Subsequently, the process retrievesthe data content from storage memory 506 at process block 716, asdescribed above.

Upon displaying the data content overlaid onto the video content, theprocess returns to decision block 710 to determine if the GPRM value haschanged to allow for the integration of additional data content fromstorage memory 506 onto portions of the video content from the DVD beingplayed by multimedia drive 502, thereby providing a recursive process ofintegration of data content with video content for display.

Moreover, the elements of this data structure that includes the GPRMdata register values, the addresses and the time codes can be updated byservers 204 a–i, as described above in the system embodiments.Accordingly, the GPRM data register values, the addresses and the timecodes can be updated from remote locations over a communication networkwithout creating a new multimedia disc each time a change in the datacontent or its synchronization with the video content from themultimedia disc is required. Therefore, embodiments of the presentinvention provide for the local storage of high-bandwidth multimediadata within devices 202, while also providing the latest registration,ordering, promotional and/or other relevant product data from remotelocations to be integrated into such high-bandwidth multimedia data.

Dynamic Control Mode Modification

In an embodiment, the control mode of device 202 can be dynamicallymodified. In one such embodiment, device 202 includes two control modes:(1) active video mode and (2) active text mode. The control mode ofdevice 202 dictates which process executing on processor 510 controlsthe operation of device 202. For example, the process in controlreceives and processes the different user inputs of device 202. In oneembodiment, the active text mode is employed during a more static modeof device 202. Examples of a static mode include when device 202 isemployed to receive user inputs regarding the inputting of alphanumericdata from a keyboard entered by the user. For example, in an embodimentof the active text mode, e-commerce transactions are made, therebyallowing the user to enter data such as the user's name, address, creditcard number, etc. Moreover, in one embodiment, the active video mode isemployed during the display of graphics-intensive data, such as whenthere is fast changing video content being displayed on video display504 of device 202.

In an embodiment, scripts or markup language tags, which are included inthe markup language content stored in storage memory 506, set and changethe control mode, which is described in further detail below. In oneembodiment, these scripts or markup language tags are J-scripts. Inparticular, FIGS. 8 a–8 b are flowcharts illustrating methods for thesetting and changing of the control mode, according to embodiments ofthe present invention.

FIG. 8 a illustrates method 800, which describes control mode switchingthat begins in the active video mode and switches to the active textmode. In particular, method 800 commences with the initialization ofdevice 202 in an active video mode, at block 802. Accordingly, contentmanager 637 controls the operation of device 202, at block 804. Thecontrol of device 202 by content manager 637 includes the receipt of theuser inputs from the various input components of device 202 and actingon such inputs. Examples of various input components have been describedabove in conjunction with FIG. 4.

Assuming that device 202 is displaying a multiple-choice type question,such a question can be answered by a user via buttons 406 coupled todevice 202. For example, one question may be what age group the user isin. The answering of this question allows the presentation beingdisplayed in video display 504 to be tailored to that age group.Answering such a question allows multimedia drive 502 to jump todifferent video and text presentations based on the user's age group.For example, if device 202 has been set up for a vendor of vitamins andother health-related products, different types of information related tothe user's health needs would be presented depending on the age group ofthe user. Therefore, different video content from multimedia drive 502and/or data content from storage memory 506 are displayed during thesubsequent presentation based on the user's age group. Accordingly, oncethe user of device 202 presses one of buttons 406 to answer thequestion, because device 202 is in active video mode, content manager637 receives and processes this input.

Moreover, when in the active video mode, typical multimedia controls formultimedia drive 502 (e.g., timing, user input, etc) may be used forjumping between different video sequences. In addition, thesynchronizing techniques previously described can be used to feed backinto the control of multimedia device 502 (e.g., while remaining in thevideo control mode, this feed back information may be used to causemultimedia device 502 to jump to a different video sequence).

Additionally, even though content manager 637 receives all of the userinputs from the input components of device 202, content manager 637 maynot necessarily process such inputs during given times of activation ofdevice 202. For example, during a current session with a given user,another user may cause the activation of motion sensor 402, therebycausing content manager 637 to receive a user input from the motionsensor. However, instead of processing such input, content manager 637would drop this input to preclude the interruption of the currentpresentation, because in one embodiment motion sensor input causes theactivation of device 202, which in turns starts the presentation at thebeginning. Therefore, a given process of device 202 receives the userinputs depending on which control mode device 202 is in. However, theprocess receiving the user inputs may not necessarily process suchinputs, depending on the type of user input as well as the timing ofsuch input.

As previously described, command sequences of the DVD being played indevice 202 cause the retrieval and display of data content insynchronization with the video content from the DVD. In one suchembodiment, this data content is markup language content, which includesscripts. Moreover in one embodiment, such scripts are employed to changethe control mode. In other words, these scripts are used to cause adifferent process executing in device 202 to control device 202.Accordingly, when multimedia drive 502 executes a given command sequencethat causes the loading of markup language content from storage memory506, the markup language content is displayed on video display 504, atblock 806. Additionally, assuming that this given markup languagecontent includes scripts that change the control mode, which, in anembodiment, is an active text mode, the control mode is changed from theactive video mode to the active text mode at block 808. Accordingly, adifferent process, browser application 638, controls device 202. Similarto control by content manager 637, this control of device 202 by browserapplication 638 includes the receipt and processing of the user inputsfrom the input components of device 202.

Embodiments of the present invention were described in terms ofexecuting a script that is included in markup language content to bedisplayed on video display 504. However, embodiments of the presentinvention are not so limited, as the markup language content is notnecessarily displayed on video display 504 or such content may bedisplayed as a hidden feature which does not modify video display 504.

FIG. 8 b illustrates method 820, which describes control mode switchingthat begins in the active text mode and switches to the active videomode. In particular, method 820 commences with the initialization ofdevice 202 in an active text mode, at block 822. Accordingly, browserapplication 638 controls the operation of device 202, at block 824. Thecontrol of device 202 by browser application 638 includes the receipt ofthe user inputs from the various input components of device 202 andacting on such inputs. For example, in an embodiment of the active textmode, e-commerce transaction are made, thereby allowing the user toenter data such as the user's name, address, credit card number, etc.Accordingly, browser application 638 receives this data and stores suchdata until the data is subsequently uploaded to the related server.

In addition to receiving the user inputs of device 202 as described bycontent manager 637, browser application 638 also control multimediadrive 502. In one such embodiment, browser application 638 controlsmultimedia drive 502 concerning the display of certain video portions onthe multimedia disc in multimedia drive 502. Moreover, at block 826,browser application 638 loads HTML content from storage memory 506,which is integrated with the video. For example, if an HTML page isbeing displayed related to the specific attributes of a vitamin, browserapplication 638 can issue a command to multimedia drive 502 to displayvideo of a spinning vitamin bottle. Such integration would display thespinning vitamin bottle in the background while displaying theattributes of the vitamin in the foreground.

Moreover, upon loading HTML content that includes scripts that modifythe control mode, such control mode is changed from the active text modeto the active video mode at block 828. Methods 800 and 802 havedescribed one change in the control mode of device 202. However,embodiments of the present invention are not so limited as differentscripts are able to cause the continued switching between the twodifferent control modes.

Accordingly, by loading different HTML content for display, the scriptsassociated with such HTML content can modify the control between theactive video mode and the active text mode. Moreover, the HTML contentalong with the associated scripts can be updated by servers 204 a–i, asdescribed above in the system embodiments. Therefore, such content canbe updated from remote locations over a communications network withoutcreating a new multimedia disc each time a change in such content isrequired. For example, if a modification in the setting and changing ofthe control mode needs to be performed, a new HTML page with a differentscript can be downloaded into device 202. Therefore, when this new HTMLpage is displayed, a different script is executed.

Moreover, the incorporation of multiple control modes into device 202allows for easier design and development of the hardware and software ofsuch a device. In particular, device 202 includes the generation ofmultimedia content controlled by multimedia drive 502 and data contentcontrolled by a different process executing on processor 510. The designand development of device 202 is thus partially segregated in theirenvironments. In particular, a first design team fluent in multimediacontent development can more easily design and develop the generation ofmultimedia content within their own control mode. Similarly, a seconddesign team fluent in data content development, such as HTMLdevelopment, can more easily design and develop the generation of datacontent with their own control mode. Further, the design of device 202allows for a fluid integration between the different control modes.

Memory 512 includes a machine-readable medium on which is stored a setof instructions (i.e., software) embodying any one, or all, of themethodologies described above. Software can reside, completely or atleast partially, within memory 512 and/or within processing unit 410.For the purposes of this specification, the term “machine-readablemedium” shall be taken to include any mechanism that provides (i.e.,stores and/or transmits) information in a form readable by a machine(e.g., a computer). For example, a machine-readable medium includes readonly memory (ROM); random access memory (RAM); magnetic disk storagemedia; optical storage media; flash memory devices; electrical, optical,acoustical or other form of propagated signals (e.g., carrier waves,infrared signals, digital signals, etc.); etc.

Although the present invention has been described with reference tospecific exemplary embodiments, it will be evident that variousmodifications and changes may be made to these embodiments withoutdeparting from the broader spirit and scope of the invention. Forexample, embodiments of the present invention can operate independent ofother embodiments.

In particular, embodiments of the present invention that include a timecode in order to sync the video content from multimedia drive 502 withthe data content from storage memory 506 can be incorporated into othersynchronization techniques than those described herein. In other words,the time code can be matched based on other synchronization indicationsthan those disclosed above (e.g., the value of the GPRM data registerchanging). For example, the time code from the multimedia disc could beemployed into a system that synchronizes the video content and the datacontent based on the sector numbers of the multimedia disc, as describedabove. Moreover, this time code from the multimedia disc could beemployed into a system that synchronizes based on the addresses of datacontent stored in the text sections of the multimedia disc.

Additionally, embodiments of the table for synchronization (e.g., Table2) can be employed with other synchronization techniques than thosedescribed herein. For example, such a table could be incorporated into asystem that synchronizes the video content and the data content based onthe sector numbers of the multimedia disc. Further, this table could beemployed into a system wherein the command to change the GPRM data valueis stored in the text sections of the multimedia disc. Moreover, thesealternative embodiments of the time code and the table together could beemployed in other synchronization techniques.

In further illustration of the independence of the embodiments describedherein, in one embodiment, the GPRM data value may be employed toprovide for dynamic control mode modification, while not being used tosynchronize the video content and the data content. Additionally, in anembodiment, the synchronization of the video content with the datacontent using the GPRM registers can be incorporated into othersynchronizations schemes that do not employ a time code and/or a table.

Moreover, the embodiments for dynamic control mode modification may ormay not be employed into the various embodiments of the synchronizationdescribed herein, as other synchronization techniques may be used inconjunction with embodiments for dynamic control mode modification.Further in other embodiments, the embodiments for dynamic control modemodification are not used in conjunction with any type ofsynchronization techniques. Accordingly, embodiments of the presentinvention can be modified such that individual embodiments can actindependent of the other embodiments and/or be intermixed in variouscombinations without departing from the spirit and scope of the presentinvention. Moreover, the specification and drawings are to be regardedin an illustrative rather than a restrictive sense.

1. A method comprising: monitoring a value of a register of a digitalstorage drive, the digital storage drive having a fixed storage medialocated therein, the fixed storage media including video content and acommand sequence associated with the video content, wherein when thefixed storage media is played by the digital storage drive, the commandsequence is executed to set the value of the register of the digitalstorage drive; locating the value in a table of register values, upondetermining that the value has changed, wherein the table includes aplurality of table entries, each table entry including a register value,an associated address and an associated time code, wherein each timecode corresponds to a position within the video content, wherein thetable is stored in memory of the digital storage drive and capable ofbeing updated on the drive through a communications network; locatingdata content based on the address associated with the value of theregister, wherein the data content is downloaded markup language text;integrating the data content with the video content based on the timecode associated with the value of the register.
 2. The method of claim1, wherein the digital storage drive is a Digital Versatile Disc DVDdrive.
 3. The method of claim 2, wherein the register is a GeneralProgram register.
 4. The method of claim 1, wherein the address is aUniform Resource Locator address.
 5. A method comprising: recursivelymonitoring a register value of a register of a Digital Versatile Disc(DVD) drive, the DVD drive including a DVD located therein, the DVDincluding video content and a command sequence associated with the videocontent, wherein when the DVD is played by the DVD drive, the commandsequence is executed to set the value of the register of the DVD drive;locating the register value in a table of register values, upondetermining that the register value is updated, wherein the tableincludes a plurality of table entries, each table entry including aregister value, an associated Uniform Resource Locator (URL) address andan associated time code, wherein each time code is associated with aposition within the video content, wherein the table is stored in memoryof the DVD drive and capable of being updated on the DVD drive through acommunications network; transmitting a request for data content based onthe URL address associated with the value of the register; receiving thedata content; and integrating the data content with the video contentbased on the time code associated with the register value.
 6. The methodof claim 5, wherein integrating the data content with the video contentbased on the time code associated with the register value integratingthe data content with the video content upon determining that the timecode associated with the register value matches a current time code ofthe DVD.
 7. The method of claim 5, wherein integrating the data contentwith the video content includes overlaying the data content onto thevideo content.
 8. The method of claim 7, wherein overlaying the datacontent onto the video content includes a transparent overlaying of thedata content onto the video content.
 9. The method of claim 5, whereinthe register value is updated based on a pre-command sequence stored onthe DVD.
 10. The method of claim 5, wherein the register value isupdated based on a post-command sequence stored on the DVD.
 11. Themethod of claim 5, wherein the register is a general program register(GPRM) of the DVD drive.
 12. The method of claim 5, wherein the datacontent can be dynamically updated by a server through a wirelessconnection.
 13. A method for integrating video from a Digital VersatileDisc (DVD) with HyperText Markup Language (HTML) text, the methodcomprising: playing video content, by a DVD drive, from the DVD; settinga register in the DVD drive to a register value upon executing apre-command sequence on the DVD, the pre-command sequence associatedwith the video content; associating the register value with a time codeand a Uniform Resource Locator (URL) address in a table, wherein theregister value, the associated time code and the associated URL addressare dynamically configurable via communication from a remote servercoupled to the DVD drive.
 14. The method of claim 13, wherein thecommunication includes a wireless communication.
 15. A method forintegrating video from a Digital Versatile Disc (DVD) with markuplanguage text, the method comprising: playing video content, by a DVDdrive, from the DVD; setting a register in the DVD drive to a registervalue upon executing a post-command sequence on the DVD, thepost-command sequence associated with the video content; associating theregister value with a time code and a Uniform Resource Locator (URL)address in a table, wherein the register value, the associated time codeand the associated URL address are dynamically configurable viacommunication from a remote server coupled to the DVD drive.
 16. Themethod of claim 15, wherein the communication includes a wirelesscommunication.
 17. A method comprising: monitoring a value of a registerof a multimedia drive, the multimedia drive having a fixed storage medialocated therein, the fixed storage media including video content and acommand sequence associated with the video content, wherein when thefixed storage media is played by the multimedia drive, the commandsequence is executed to set the value of the register of the multimediadrive; and synchronizing data content from a storage memory with thevideo content upon determining that the value of the register haschanged.
 18. The method of claim 17, wherein the synchronizing of thedata content includes: locating the value in a table of register values,upon determining that the value has changed, wherein the table includesa plurality of table entries, each table entry including a registervalue, an associated address and an associated time code, wherein eachtime code corresponds to a position within the video content, whereinthe table is stored in memory of the multimedia drive and capable ofbeing updated on the multimedia drive through a communications network;and locating the data content within the storage memory based on theaddress associated with the value of the register.
 19. The method ofclaim 17, wherein the multimedia drive is a Digital Versatile Discdrive.
 20. The method of claim 17, wherein the address is a UniformResource Locator address.
 21. The method of claim 17, wherein the datacontent is markup language text.
 22. A method comprising: locating avalue of a time code in a table upon receiving a synchronizationindication, the synchronization indication including a value of aregister of a digital storage drive being set by execution of a commandsequence stored on a fixed storage media located within the digitalstorage drive, wherein the table includes a plurality of table entries,each table entry including a time code and an associated address,wherein each time code corresponds to a position within video contentstored on the fixed storage media, the command sequence being associatedwith the video content, and the table being stored in memory of thedigital storage drive and capable of being updated on the drive througha communications network; locating data content based on the associatedaddress; and integrating the data content with the video content basedon the time code.
 23. The method of claim 22, wherein the data contentis markup language text.
 24. A device coupled to a server through anetwork, the device comprising: a storage memory that includes aplurality of data content, wherein the server can update the pluralityof data content through the network; and a Digital Versatile Disc (DVD)drive coupled to the storage memory, the DVD drive to play a DVD,wherein the DVD includes video content and a command sequence associatedwith the video content, such that a plurality of time codes areassociated with positions in the video content, wherein the DVD driveincludes: a register that includes a register value set by execution ofthe command sequence associated with the video content; and a tablehaving a plurality of table entries, each table entry including one of aplurality of register values, one of the plurality of time codes and anaddress, wherein each address is associated with one of the plurality ofdata content, wherein the table is capable of being updated on the DVDdrive through the network.
 25. The device of claim 24, wherein thedevice is wirelessly coupled to the network.
 26. The device of claim 24,wherein the device is coupled to the server through a virtual privatenetwork within the network.
 27. The device of claim 24, wherein thememory is a FLASH memory.
 28. The device of claim 24, wherein theaddress is a Uniform Resource Locator Address.
 29. A machine-readablemedium that provides instructions, which when executed by a machine,cause said machine to perform operations comprising: monitoring a valueof a register of a multimedia drive, the multimedia drive having a fixedstorage media located therein, the fixed storage media including videocontent and a command sequence associated with the video content,wherein when the fixed storage media is played by the multimedia drive,the command sequence is executed to set the value of the register of themultimedia drive; locating the value in a table of register values, upondetermining that the value has changed, wherein the table includes aplurality of table entries, each table entry including a register value,an associated address and an associated time code, wherein each timecode is associated with a position within the video content, wherein thetable is stored in memory of the multimedia drive and capable of beingupdated on the drive through a communications network; locating datacontent based on the address associated with the value of the register;integrating the data content with the video content based on the timecode associated with the value of the register.
 30. The machine-readablemedium of claim 29, wherein the multimedia drive is a Digital VersatileDisc drive.
 31. The machine-readable medium of claim 30, wherein theregister is a General Program register.
 32. The machine-readable mediumof claim 29, wherein the address is a Uniform Resource Locator address.33. The machine-readable medium of claim 29, wherein the data content isHyperText Markup Language text.
 34. A machine-readable medium thatprovides instructions, which when executed by a machine, cause saidmachine to perform operations comprising: recursively monitoring aregister value of a register of a Digital Versatile Disc (DVD) drive,the DVD drive including a DVD located therein, the DVD including videocontent and a command sequence associated with the video content,wherein when the DVD is played by the DVD drive, the command sequence isexecuted to set the value of the register of the DVD drive; locating theregister value in a table of register values, upon determining that theregister value is updated, wherein the table includes a plurality oftable entries, each table entry including a register value, anassociated Uniform Resource Locator (URL) address and an associated timecode, wherein each time code is associated with a position within thevideo content, wherein the table is stored in memory of the DVD driveand capable of being updated on the DVD drive through a communicationsnetwork; transmitting a request for data content based on the URLaddress associated with the value of the register; receiving the datacontent; and integrating the data content with the video content basedon the time code associated with the register value.
 35. Themachine-readable medium of claim 34, wherein integrating the text withthe video content based on the time code associated with the registervalue includes integrating the text with the video content upondetermining that the time code associated with the register valuematches a current time code of the DVD.
 36. The machine-readable mediumof claim 34, wherein integrating the data content with the video contentincludes overlaying the data content onto the video content.
 37. Themachine-readable medium of claim 34, wherein overlaying the data contentonto the video content includes a transparent overlaying of the datacontent onto the video content.
 38. A machine-readable medium thatprovides instructions, which when executed by a machine, cause saidmachine to perform operations comprising: playing video content, by aDVD drive, from a DVD; setting a GPRM register in the DVD drive to avalue upon executing a pre-command sequence on the DVD, the pre-commandsequence associated with the video content; and associating the valuewith a time code and a Uniform Resource Locator (URL) address in atable, wherein the value, the associated time code and the associatedURL address are dynamically configurable via communication from a remoteserver coupled to the DVD drive.
 39. The machine-readable medium ofclaim 38, wherein the communication includes a wireless communication.40. A machine-readable medium having stored thereon a data structurecomprising: a first data field containing data representing a value of aregister of a Digital Versatile Disc (DVD) drive, the DVD drive to playa DVD, wherein the DVD includes video content and a command sequenceassociated with the video content, the value of the register of the DVDdrive having been set by execution of the command sequence; a seconddata field containing data representing a value of an address, whereinthe address is associated with data content stored in a storage memory;and a third data field containing data representing a value of a timecode, wherein the time code is associated with a position within thevideo content.
 41. The machine-readable medium of claim 40, wherein thevideo content and the data content are integrated.
 42. Themachine-readable medium of claim 40, wherein the data content isoverlaid onto the video content.
 43. The machine-readable medium ofclaim 42, wherein the data content is transparently overlaid onto thevideo content.
 44. The machine-readable medium of claim 40, wherein theaddress is a Uniform Resource Locator address.
 45. The machine-readablemedium of claim 40, wherein the data content include markup languagetext.
 46. A machine-readable medium that provides instructions, whichwhen executed by a machine, cause said machine to perform operationscomprising: monitoring a value of a register of a multimedia drive, themultimedia drive having a fixed storage media located therein, the fixedstorage media including video content and a command sequence associatedwith the video content, wherein when the fixed storage media is playedby the multimedia drive, the command sequence is executed to set thevalue of the register of the multimedia drive; and synchronizing datacontent from a storage memory with the video content upon determiningthat the value of the register has changed.
 47. The machine-readablemedium of claim 46, wherein the synchronizing of the data contentincludes: locating the value in a table of register values, upondetermining that the value has changed, wherein the table includes aplurality of table entries, each table entry including a register value,an associated address and an associated time code, wherein each timecode corresponds to a position within the video content, wherein thetable is stored in memory of the multimedia drive and capable of beingupdated on the multimedia drive through a communications network; andlocating the data content within the storage memory based on theaddress.
 48. The machine-readable medium of claim 46, wherein themultimedia drive is a Digital Versatile Disc drive.
 49. Themachine-readable medium of claim 46, wherein the address is a UniformResource Locator address.
 50. The machine-readable medium of claim 46,wherein the data content is HyperText Markup Language text.
 51. Amachine-readable medium that provides instructions, which when executedby a machine, cause said machine to perform operations comprising:locating a value of a time code in a table upon receiving asynchronization indication, the synchronization indication including avalue of a register of a digital storage drive being set by execution ofa command sequence stored on a fixed storage media located within thedigital storage drive, wherein the table includes a plurality of tableentries, each table entry including a time code and an associatedaddress, wherein each time code corresponds to a position within videocontent stored on the fixed storage media, the command sequence beingassociated with the video content, and the table being stored in memoryof the digital storage drive and capable of being updated on the drivethrough a communications network; locating data content based on theassociated address; and integrating the data content with the videocontent based on the time code.
 52. The machine-readable medium of claim51, wherein the data content is markup language text.